home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / serial.zip / SERIAL.DOC < prev    next >
Text File  |  1993-01-04  |  32KB  |  991 lines

  1.          
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                             ==========================
  15.                             =         SERIAL         =
  16.                             =       Vers. 1.00       =
  17.                             =        - by -          =
  18.                             =   Steven E. Margison   =
  19.                             ==========================
  20.  
  21.  
  22.                      Program and Documentation Copyright 1986
  23.                    by Steven E. Margison -- All Rights Reserved
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                         SERIAL Manual               Page 1               
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.          
  68.  
  69.  
  70.  
  71.  
  72.                         SERIAL -- Serial Number Installer
  73.  
  74.  
  75.          I. INTRODUCTION
  76.                  You write commercial software. You want to  track  which
  77.          copies  of  your  program  go  to which purchaser. Or, you write
  78.          shareware software. Somebody registers a copy with you. Wouldn't
  79.          it be nice to know where that copy came from in the first place?
  80.          Well, solve both  problems  with  SERIAL.  This  unique  program
  81.          allows  the  easy  insertion  of serial numbers into any type of
  82.          file, whether text or executable. And,  it  remembers  the  last
  83.          number and how to patch your files as well.
  84.  
  85.  
  86.  
  87.  
  88.          II. SYSTEM REQUIREMENTS
  89.               * Dual floppy drives or hard drive plus floppy.
  90.  
  91.               *  CGA,  Mono,  or  EGA card. If Mono card not in use,
  92.               SERIAL forces video mode 2 (Black/White 80 column).
  93.  
  94.               * 32K of available memory for program.
  95.  
  96.               * No color is used -- any  monitor  except  40  column
  97.               types are allowable.
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                         SERIAL Manual               Page 2               
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.          
  134.  
  135.  
  136.          III. STRATEGY OF OPERATION and TERMINOLOGY
  137.                  The process of installing a serial number into a program
  138.          is actually quite simple. The program (or text file) is  created
  139.          with  a  "dummy"  serial  number string. Then, SERIAL is told to
  140.          search the file for that string  and  replace  it  with  another
  141.          string.  A  direct  byte-for-byte substitution. You could do the
  142.          same thing with Norton Utilities (r)  but  it  would  drive  you
  143.          crazy  after  about  five  files.  SERIAL  does the process in a
  144.          friendly, menu-driven operation, with  error  checks,  automatic
  145.          number  increment,  and data logging. In order to understand the
  146.          remainder of this manual better, these terms will be used:
  147.  
  148.               "TARGET FILE" --  This  is  the  file  which  will  be
  149.               patched.
  150.  
  151.               "LOG  FILE"  --  The  file which will contain location
  152.               information and last number used.  There  may  be  any
  153.               number of these if desired.
  154.  
  155.               "SERIAL  TEMPLATE"  -- The string which will be placed
  156.               into the target file. This  string  has  a  designated
  157.               area for the serial number.
  158.  
  159.               "SEARCH  TEMPLATE"  --  The dummy string in the target
  160.               which will be replaced.
  161.  
  162.               "SERIAL NUMBER" -- a decimal number  from  0000 - 9999
  163.               which is merged into the serial template.
  164.  
  165.               "TILDE"  --  the  '~'  character, which is used in the
  166.               serial template to indicate the position of the serial
  167.               number.
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.                         SERIAL Manual               Page 3               
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.          
  200.  
  201.  
  202.          IV. OPERATION
  203.                  SERIAL  requires no command line options. Simply execute
  204.          the program from any directory. Of course, DOS must be  able  to
  205.          locate  SERIAL.COM,  so  make  sure  that  it is in your current
  206.          directory or in a directory specified by your  PATH  environment
  207.          variable.  The  main menu will appear on the screen and a prompt
  208.          line will appear at the bottom:
  209.  
  210.          +----------------------------------------------------------------------+
  211.          |             PROGRAM SERIALIZER V1.00  Serial #000.0000.0000          |
  212.          |                    - by Steven E. Margison -                         |
  213.          |              Copyright 1986 -- All Rights Reserved                   |
  214.          |                                                                      |
  215.          |         F1   File to Serialize:                                      |
  216.          |         F2   Logging File:                                           |
  217.          |         F3   Serial # Template:                                      |
  218.          |         F4   Search Template:                                        |
  219.          |         F5   -- Search for Location --                               |
  220.          |         F6   -- Modify the File --                                   |
  221.          |         F7   Auto-Increment is OFF                                   |
  222.          |         F8   Next Serial Number:                                     |
  223.          |         F9   -- Update Log File --                                   |
  224.          |         F10  HELP                                                    |
  225.          |         ESC  -- Return to DOS --                                     |
  226.          |                                                                      |
  227.          |                                                                      |
  228.          |         waiting..._                                                  |
  229.          +----------------------------------------------------------------------+
  230.  
  231.  
  232.          Briefly, the function keys are:
  233.  
  234.                               F1  File to Serialize
  235.          This key is used to specify the  target  filename.  Be  sure  to
  236.          include  any  drive  and  path  required.  Maximum  length is 32
  237.          characters total. A "beep" will sound for any illegal character,
  238.          or when the 32 character limit is reached. Press <escape> at any
  239.          time to abort the operation and return to  the  program  prompt.
  240.          Press <enter> to complete the filename and return to the prompt.
  241.          The  backspace  key  may  be  used  to  edit the filename before
  242.          pressing <enter>.
  243.  
  244.                                  F2  Logging File
  245.          This key selects the file to use  for  logging  information.  It
  246.          operates  the same as F1. After entering a filename, you will be
  247.          asked if you wish the filename to be installed as the default. A
  248.          response of 'Y' or 'y' will install the filename as  a  default,
  249.          providing  SERIAL.COM  is  still  available.  Any other response
  250.          simply selects the  file  for  current  usage.  To  uninstall  a
  251.          default  file,  press  F2,  then <enter>. Then, press 'Y' to the
  252.          question.  A  null  filename  causes  any  presently   installed
  253.          filename to be uninstalled.
  254.  
  255.  
  256.                         SERIAL Manual               Page 4               
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.          
  266.  
  267.  
  268.  
  269.                               F3  Serial # Template
  270.          This key is used to  specify  the  serial  template.  Up  to  16
  271.          characters  may  be  specified. There must be at least one tilde
  272.          character. All  printable  characters  are  allowed.  Backspace,
  273.          <enter>, and <escape> work as for F1 and F2.
  274.  
  275.                                F4  Search Template
  276.          This  key  allows selection of the search template. It functions
  277.          as for key F3, although the tilde characters are  not  required.
  278.          This  string  must  be  specified  exactly  as  it appears in an
  279.          unmodified target file.
  280.  
  281.                              F5  Search for Location
  282.          After selection of a target file and search template,  this  key
  283.          is  used  to  commence  a  search  of  the  target  file for the
  284.          specified search template. When found, location  information  is
  285.          saved  within  the  program  for  use when installing the serial
  286.          number string.
  287.  
  288.                                F6  Modify the File
  289.          This operation places the final serial number  string  into  the
  290.          target  file.  It  requires  prior entry of the target filename,
  291.          search template, serial template, and serial number. If a search
  292.          operation  on  the  file  has  already  been  accomplished   the
  293.          installation will be performed. Otherwise, an error message will
  294.          be  displayed  and  it  will  be  necessary  to do a search (F5)
  295.          operation first.
  296.  
  297.                                 F7  Auto-Increment
  298.          This key toggles the auto-increment function OFF  and  ON,  with
  299.          the  line always indicating the current state. If auto-increment
  300.          is ON, then the serial number will  be  incremented  after  each
  301.          modification  operation.  Otherwise,  the  number  will  not  be
  302.          changed.
  303.  
  304.                              F8  Next Serial Number:
  305.          This line shows the current  serial  number.  Use  of  this  key
  306.          allows  changing  the  number.  As  with  other keys, backspace,
  307.          <enter>, and <escape> are active. However, this function  allows
  308.          only  numerical  entry  of four digits. If less than four digits
  309.          are entered an error message is issued.  Use  leading  zeros  if
  310.          needed.
  311.  
  312.                                F9  Update Log File
  313.          This  key  is  active  only if a logging file has been selected.
  314.          When used, the selected logging file  is  updated  with  current
  315.          data.  The  current  serial  number is always saved in the first
  316.          line of the logging file. The target filename  is  entered  into
  317.          the  logging  file  along  with the selected search template and
  318.          location of the search template in the  target.  If  the  target
  319.          already  exists in the logging file, its information is updated.
  320.  
  321.  
  322.                         SERIAL Manual               Page 5               
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.          
  332.  
  333.  
  334.          This  allows  for  updating a file's location information in the
  335.          event the target file is modified, changing the location of  the
  336.          search template.
  337.  
  338.                                     F10  HELP
  339.          This  key  opens up a second menu which allows selection of help
  340.          on each of the function keys. Pressing <escape> returns  you  to
  341.          the main menu.
  342.  
  343.                              ESC  -- Return to DOS --
  344.          Use this key to quit SERIAL.
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.                         SERIAL Manual               Page 6               
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.          
  398.  
  399.  
  400.          V. TEMPLATE CONSIDERATIONS
  401.                  A dummy serial number template must  be  placed  in  the
  402.          original target file. The template may be up to 16 characters in
  403.          length  and contain any printable characters. This template will
  404.          be replaced in the target file  by  the  serial  number  string,
  405.          which  consists  of  the  merging  of  the serial number and the
  406.          serial template. The serial template contains one or more  tilde
  407.          characters,  which  indicate  the location of the serial number.
  408.          For example, a portion of the menu may look thus:
  409.                F3  Serial # Template:    A~~~~B
  410.                F4  Search Template:      A0000B
  411.                F8  Next Serial Number:   1165
  412.          In this case, the target file will be searched  for  the  string
  413.          A0000B  when  the F5 key is pressed. When the F6 key is pressed,
  414.          the serial number 1165 is merged into the serial template at the
  415.          tilde characters yielding a serial number string of  A1165B.  If
  416.          fewer  than  4  tilde  characters  are  present  in  the  serial
  417.          template, only the appropriate number of digits from the  serial
  418.          number will be merged, least significant justified. If more than
  419.          4  tilde  characters  are  specified, the left-most four will be
  420.          merged and the remainder will be unchanged.  If  there  are  two
  421.          separate  fields  of  tilde characters, such as "A~~~B~~~C" only
  422.          the leftmost will be recognized. Note that  the  length  of  the
  423.          serial  template  must  be exactly the same length as the search
  424.          template, since it is not  possible  to  patch  a  file  with  a
  425.          different number of bytes.
  426.                  Consider   the   following   C   language  line  in  the
  427.          traditional file "foobar.com":
  428.                puts("Serial Number: A0000");
  429.          To patch this file with serial number A1234 follow these steps:
  430.          Press F2 and type TEMP.LOG<enter>
  431.          Press F1 and type FOOBAR.COM<enter>
  432.          Press F4 and type A0000<enter>
  433.          Press F3 and type A~~~~<enter>
  434.          Press F8 and type 1234<enter>
  435.          Press F5
  436.          Press F7
  437.          Press F6
  438.          Press F9
  439.          This will install the number in the target file and  update  the
  440.          logging  file. Upon completion the logging file "TEMP.LOG" would
  441.          look like this:
  442.                1235
  443.                foobar.com 0 0 0 0 0 A0000B
  444.          The several  fields  of  zeros  would  actually  be  information
  445.          relating to the position of the search template in the file.
  446.                  The serial number can be as simple as the above example,
  447.          or as complex as desired. Take the following example:
  448.                puts("Serial Number: MMDDYY-xxx-VVV");
  449.          The   search   string   is   MMDDYY-xxx-VVV.   When  creating  a
  450.          distribution diskette of the program, the  MMDDYY  might  become
  451.          the  date  the  disk  was  created,  the xxx would be the serial
  452.  
  453.  
  454.                         SERIAL Manual               Page 7               
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.          
  464.  
  465.  
  466.          number  (note  the  use of only 3 digits this time), and the VVV
  467.          might be the version number.  Releasing  serial  number  702  on
  468.          9-23-86, version 2.37 would require a serial template entry of:
  469.                092386-~~~-237
  470.          and a serial number entry of
  471.                702.
  472.          In  the  above examples the tilde character has not been used in
  473.          the search template nor in the dummy program strings.  There  is
  474.          no  reason  that  this  couldn't  be  done, however. (In fact, I
  475.          program my own code in that manner.)
  476.                  After SERIAL has the location of  the  search  template,
  477.          either  by  searching  or  reading the location from the logging
  478.          file, installation of the  serial  number  string  is  performed
  479.          without   re-checking  for  the  search  template.  This  allows
  480.          changing the serial number string of a program which has already
  481.          been serialized, and  which  no  longer  has  the  dummy  search
  482.          string. However, this also makes it very important to repeat the
  483.          search  on  the  target  file any time the target is modified in
  484.          such a way as to potentially change the location of  the  search
  485.          template.
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.                         SERIAL Manual               Page 8               
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.          
  530.  
  531.  
  532.          VI. THE LOG FILE
  533.                  The log file is used to expedite  operation  of  SERIAL.
  534.          Although  several  logging  files  may be used if desired, it is
  535.          probably more common to use a single file and  cause  it  to  be
  536.          installed as the default file.
  537.                  When  SERIAL  is invoked with an installed logging file,
  538.          the file is immediately read and the serial number is  retrieved
  539.          from  the  file. This eliminates the need to manually keep track
  540.          of the last number issued.
  541.                  Whenever a target filename is selected, the logging file
  542.          is searched to see if that filename is already in the  file.  If
  543.          so,  its  search  template is displayed on the F4 menu line, and
  544.          the location information is read  from  the  file.  It  is  then
  545.          unnecessary  to  perform  a  search operation. Of course, if the
  546.          generic target  file  has  been  modified  the  search  template
  547.          location may have changed, so it will be necessary to do another
  548.          search to update the new location.
  549.                  If a new target file is selected while a logging file is
  550.          in   effect,  the  logging  file  will  again  be  searched  for
  551.          appropriate information. If the logging file is changed while  a
  552.          target  file  is selected, the new log file will be read for its
  553.          serial number, and  scanned  for  an  entry  pertaining  to  the
  554.          currently  selected  target file. Note that target filenames are
  555.          entered in the log file exactly as they are entered on the menu.
  556.          Therefore, "B:FOOBAR.COM" and "A:FOOBAR.COM" will have  separate
  557.          entries, even though they may be the same file.
  558.                  Be  sure  to  do  an  update  operation  on the log file
  559.          whenever information has changed, such as a new target file, new
  560.          location search, or changed serial number. SERIAL will warn  you
  561.          if  you are about to do an operation which will lose information
  562.          which should go into the log file.
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.                         SERIAL Manual               Page 9               
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.          
  596.  
  597.  
  598.          VII. ERROR MESSAGES
  599.                  All  error  messages  are  displayed on the main menu in
  600.          place of the prompt line. Strike any key to clear the error.
  601.  
  602.               "No logging file has been selected. <F2>"
  603.               An attempt was made to update the log  file  with  F9,
  604.               except  that there is no specified log file. Use F2 to
  605.               enter a log file name.
  606.  
  607.               "No target file has been selected. <F1>"
  608.               An attempt was made to search or modify a target  with
  609.               F5 or F6, except no target file has been selected with
  610.               F1.
  611.  
  612.               "No template specified. <F3>"
  613.               An  attempt  was  made  to modify a file without first
  614.               selecting the serial template.  Use  F3  to  select  a
  615.               template.
  616.  
  617.               "No search template specified. <F4>"
  618.               An  attempt  was  made to search a target file without
  619.               first selecting the search template with F4.
  620.  
  621.               "Template position not located. <F5>"
  622.               SERIAL has no knowledge of the location of the  search
  623.               template  in  the target file. Either read in the data
  624.               from a logging file or perform a search operation with
  625.               F5.
  626.  
  627.               "No serial number entered. <F8>"
  628.               A  modify  operation  was  attempted   without   first
  629.               specifying a starting serial number with F8.
  630.  
  631.               "Failure opening logging file."
  632.               The specified log file could not be properly opened.
  633.  
  634.               "Failure to open temporary logging file."
  635.               SERIAL  uses a temporary logging file for updating the
  636.               specified logging file. This  error  occurs  when  the
  637.               temporary  file  SERIAL.TMP  cannot be opened. If this
  638.               error occurs, the logging file will not be updated.
  639.  
  640.               "Failure to open target file."
  641.               The specified target could not be opened for search or
  642.               modification.
  643.  
  644.               "Read failure on target file."
  645.               During a search or modify operation on the target file
  646.               a fatal error occurred.
  647.  
  648.  
  649.  
  650.  
  651.  
  652.                        SERIAL Manual               Page 10               
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.          
  662.  
  663.  
  664.  
  665.               "No   serial   number   field  in  template.  Redefine
  666.               template."
  667.               The serial template  specified  with  F3  contains  no
  668.               tilde characters for merging the serial number.
  669.  
  670.               "Serial number must be 4 digits long."
  671.               The serial number selected with F8 had fewer than four
  672.               digits.  Use  leading zeros if necessary to pad number
  673.               to four digits.
  674.  
  675.               "<F3> and <F4> templates not the same length."
  676.               The search and  serial  templates  must  be  the  same
  677.               length since it is not possible to alter the length of
  678.               the target file.
  679.  
  680.               "Seek error on target file update."
  681.               During  modification of the target file, a fatal error
  682.               occurred.
  683.  
  684.               "WARNING! Error on writing target  file.  Target  file
  685.               may be corrupted."
  686.               A  write error occurred during the modification of the
  687.               target file.  Integrity  of  the  target  file  is  in
  688.               question.
  689.  
  690.               "Cannot locate SERIAL.COM to install defaults."
  691.               SERIAL.COM could not be located to install the default
  692.               logging  file. This could be caused by switching disks
  693.               after SERIAL  was  invoked,  invoking  SERIAL  with  a
  694.               directory  or  drive path which is not in the PATH, or
  695.               by renaming SERIAL.COM to something else.
  696.  
  697.               "Error on installation of defaults."
  698.               An error occurred during installation of  the  default
  699.               logging   filename.   Safety  dictates  replacing  the
  700.               current SERIAL.COM with a backup copy.
  701.  
  702.               "Altered logging information not save to disk."
  703.               This warning indicates that either the  serial  number
  704.               has  been altered or new location information has been
  705.               collected, but an update of the logging file  has  not
  706.               been  done  to  save  the changes. After clearing this
  707.               error, the user is prompted  to  lose  information  or
  708.               not.
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.                         SERIAL Manual               Page 11              
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.          
  728.  
  729.  
  730.          VIII. ONLINE HELP
  731.                  Pressing the F10 key will change from the main  menu  to
  732.          the help menu:
  733.  
  734.                +-------------------------------------------------------+
  735.                |  Select function key for which help is needed         |
  736.                |    or ESCape to return to main menu.                  |
  737.                |  F1 - Target Files                                    |
  738.                |  F2 - Logging Files                                   |
  739.                |  F3 - Serial Number Template                          |
  740.                |  F4 - Search Template                                 |
  741.                |  F5 - Location Search                                 |
  742.                |  F6 - Serial Number Installation                      |
  743.                |  F7 - Autoincrement                                   |
  744.                |  F8 - Serial Number Selection                         |
  745.                |  F9 - Update Logging File                             |
  746.                |  ==>                                                  |
  747.                +-------------------------------------------------------+
  748.  
  749.          Selecting one of the function keys will give a brief description
  750.          of  that  function,  and  report any current selections for that
  751.          function. Pressing the <escape> key returns to the main menu.
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.                        SERIAL Manual               Page 12               
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.          
  794.  
  795.  
  796.          IX. SHAREWARE
  797.                  By  now,  the shareware concept should be familiar to PC
  798.          users.  In  a  nutshell,   shareware   is   "try-before-you-buy"
  799.          software,  reasonably  priced  and  user-supported.  This simply
  800.          means that you can get shareware software for free  from  anyone
  801.          who has a copy, or often from bulletin board systems. If you use
  802.          and  like  the  program,  then the author requests a donation to
  803.          support further software development. By registering and  making
  804.          a  donation,  you  will  often  also receive notice of available
  805.          upgrades or supplemental  programs.  Of  course,  payment  under
  806.          shareware  is  voluntary,  but  if the program is useful and the
  807.          price is right, why not pay the dues and provide  the  incentive
  808.          and  reward  necessary to continue development of new and better
  809.          software?
  810.                  SERIAL is shareware. If you like it and use  it,  please
  811.          register  your copy on the registration form enclosed at the end
  812.          of this manual. You will be placed on a mailing list for  future
  813.          upgrades, and receive the most recent distribution disk.
  814.                  Online  help  is available through CompuServe, either by
  815.          using EasyPlex or a message in IBMSW or IBMHW forums. Sorry, but
  816.          online help is available ONLY to registered users.
  817.                  Help is also available by mail. I will try to answer all
  818.          letters within 48 hours. Non-registered  users  must  include  a
  819.          SASE for a reply. The degree of help available to non-registered
  820.          users is purely discretionary.
  821.                  SERIAL  and  all  related  documentation may not be sold
  822.          under any circumstances without prior approval of S.E. Margison.
  823.          Public Domain/Shareware distributors and Users Groups may charge
  824.          a nominal fee for copying  and  distributing  this  program  and
  825.          Bulletin  Board Systems may likewise carry it. Please contact me
  826.          for a complimentary copy to insure that  you  are  offering  the
  827.          most recent and complete release.
  828.                  SERIAL  and its documentation may not be transferred nor
  829.          exchanged in any modified form. If you really want to "hack" the
  830.          functions or the documentation, by all means do  so;  but  don't
  831.          give  the hacked version to anyone else. I cannot be expected to
  832.          help others use these functions if they  are  not  the  same  as
  833.          distributed. Under no circumstances may the copyright notices be
  834.          altered or removed from the functions or documentation.
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.                         SERIAL Manual               Page 13              
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.          
  860.  
  861.  
  862.          X. WARRANTY
  863.                  Oh,  this  shouldn't  be  necessary  among  friends  and
  864.          gentlemen,  but  it's  really  the lawyers who run the world and
  865.          they say we gotta do this:
  866.  
  867.  
  868.               ** SERIAL is  hereby  placed  in  the  Public  Domain,
  869.               subject  to the limitations specified in section IX of
  870.               this manual.
  871.               ** SERIAL and all documentation are copyright 1986  by
  872.               Steven E. Margison.
  873.               ** This program and documentation are provided "as is"
  874.               without  warranty  of  any  kind,  either expressed or
  875.               implied, including but  not  limited  to  the  implied
  876.               warranties   of  merchantability  and  fitness  for  a
  877.               particular purpose.
  878.               ** The user of this program and documentation agrees o
  879.               hold the author and/or distributor(s) of this material
  880.               harmless  for  any  direct  or  consequential  damages
  881.               resulting  from  its  use.  In other words, "you're on
  882.               your own!"
  883.               ** If this material was received  by  the  user  on  a
  884.               diskette directly from the author (S.E. Margison) then
  885.               the diskette will be warranted to be free from defects
  886.               for  a  period  of 30 days from date of purchase. Sole
  887.               liability of the  author  shall  be  to  replace  such
  888.               defective diskette with a like diskette upon return of
  889.               the  defective  diskette.  "Defective  diskette" shall
  890.               mean a diskette which is  physically  or  magnetically
  891.               damaged  in  such  a way as to make the contained data
  892.               inaccessible to a properly functioning computer of the
  893.               type intended for the media.
  894.               ** IBM is  a  registered  trademark  of  International
  895.               Business Machines Corporation.
  896.               ** MS-DOS is a trademark of MicroSoft Corporation.
  897.  
  898.  
  899.  
  900.  
  901.          If  you are not already a registered user of one of my programs,
  902.          a business-sized  SASE  will  bring  you  a  list  of  currently
  903.          available programs from me.
  904.  
  905.                             --- Steven E. Margison ---
  906.                           --- CompuServe 74435,1042 ---
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.                         SERIAL Manual               Page 14              
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.          
  926.  
  927.  
  928.          =======================================================================
  929.                       SOFTWARE REGISTRATION FORM AND ORDER
  930.          =======================================================================
  931.          A separate form must be filled out for each product ordered or
  932.          registered.  This form may be photocopied, printed out, or
  933.          edited to include all information and re-printed.
  934.          
  935.          PRODUCT: --------------- SERIAL ---------------------------------------
  936.          
  937.          Check all that apply:                                    Amount:
  938.          
  939.          [ ]  Standard registration                  $20.00       $______
  940.          
  941.          
  942.          
  943.          
  944.          
  945.          
  946.          
  947.          
  948.          
  949.          
  950.          
  951.          
  952.                                           TOTAL ENCLOSED:         $______
  953.          If you already have these programs, where were they obtained?
  954.          [ ]CompuServe  [ ]Friend  [ ]Employer  [ ]BBS:__________________
  955.          Version_____ Serial No._________ 
  956.          
  957.          Payment is by check[ ] or money order[ ] (Sorry - no COD or charges)
  958.          
  959.          NAME _______________________________________________________
  960.          
  961.          COMPANY ____________________________________________________
  962.          
  963.          ADDRESS ____________________________________________________
  964.          
  965.          CITY _______________________________________________________
  966.          
  967.          STATE___________________________ ZIP _______________________
  968.          
  969.          =======================================================================
  970.          Send completed form and payment to:
  971.                              Steven E. Margison
  972.                               124 Sixth Street
  973.                           Downers Grove, IL, 60515
  974.          =======================================================================
  975.                        - do not write below this line -
  976.          
  977.          recd________   sent________ version_______ serial no.________
  978.  
  979.  
  980.  
  981.  
  982.                        SERIAL Manual               Page 15               
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.